package com.iplant.wms.service.po.asn;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.base.po.BasePO;
import com.iplant.base.po.enums.DBSchemas;
import com.iplant.base.utils.annotation.po.DBBasePO;
import com.iplant.base.utils.annotation.condition.DBCondition;
import com.iplant.base.utils.annotation.field.DBField;
import com.iplant.base.utils.general.CalendarTool;

import java.io.Serializable;
import java.util.Calendar;

/**
 * 到货车辆信息
 *
 * @author femi
 */
@DBBasePO(TableName = "wms_arrivalvehicle", Name = false, Active = false,
        CheckName = {"Code"}, Schemas = DBSchemas.WMS, CodeAuto = true,
        CodePrefix = "AVCD{yyMMdd}-", CodeNum = 4)
public class WMSArrivalVehicle extends BasePO implements Serializable {

    /**
     * 序列号
     */
    private static final long serialVersionUID = 1L;

    @DBCondition(CompareType = DBCondition.DBCompareType.in)
    @DBField
    public int ArrivalNoticeID;

    @DBCondition(CompareType = DBCondition.DBCompareType.like, ParamName2 = "ArrivalNoticeCodeEQ")
    @DBField
    public int ArrivalNoticeCode;
    /**
     * 车牌
     */
    @DBCondition(CompareType = DBCondition.DBCompareType.like)
    @DBField
    public String LicensePlate = "";

    /**
     * 司机名称
     */
    @DBCondition(CompareType = DBCondition.DBCompareType.like)
    @DBField
    public String DriverName = "";

    /**
     * 司机联系方式
     */
    @DBField
    public String DriverContact = "";

    /**
     * 到达时刻
     */
    @DBCondition(CompareType = DBCondition.DBCompareType.geLe, ParamName = "ArrivalTimeStart", ParamName2 = "ArrivalTimeEnd")
    @DBField
    public Calendar ArrivalTime = CalendarTool.getBasicDate();

    /**
     * 装卸时间（min）分钟
     */
    @DBField
    public int UnloadingTime = 0;


    public WMSArrivalVehicle() {
        super();
    }

    @JsonProperty("LicensePlate")
    public String getLicensePlate() {
        return LicensePlate;
    }

    public void setLicensePlate(String licensePlate) {
        LicensePlate = licensePlate;
    }

    @JsonProperty("DriverName")
    public String getDriverName() {
        return DriverName;
    }

    public void setDriverName(String driverName) {
        DriverName = driverName;
    }

    @JsonProperty("DriverContact")
    public String getDriverContact() {
        return DriverContact;
    }

    public void setDriverContact(String driverContact) {
        DriverContact = driverContact;
    }

    @JsonProperty("ArrivalTime")
    public Calendar getArrivalTime() {
        return ArrivalTime;
    }

    public void setArrivalTime(Calendar arrivalTime) {
        ArrivalTime = arrivalTime;
    }

    @JsonProperty("UnloadingTime")
    public int getUnloadingTime() {
        return UnloadingTime;
    }

    public void setUnloadingTime(int unloadingTime) {
        UnloadingTime = unloadingTime;
    }


    @JsonProperty("ArrivalNoticeID")
    public int getArrivalNoticeID() {
        return ArrivalNoticeID;
    }

    public void setArrivalNoticeID(int arrivalNoticeID) {
        ArrivalNoticeID = arrivalNoticeID;
    }

    @JsonProperty("ArrivalNoticeCode")
    public int getArrivalNoticeCode() {
        return ArrivalNoticeCode;
    }

    public void setArrivalNoticeCode(int arrivalNoticeCode) {
        ArrivalNoticeCode = arrivalNoticeCode;
    }


}
